package com.shujia.scala

object Demo3Class {
  def main(args: Array[String]): Unit = {

    val p = new Print() {
      override def print(str: String): String = {
        println(str)

        //方法最后一行作为返回值 returnkey省略
        "ok"
      }
    }

    p.print("数加")


    val s = new Sco
    s.avg()


  }
}

/**
  * 抽象类
  *
  */

abstract class Print() {

  println("抽象类")

  def print(str: String): String

}

/**
  * 接口，尽量不要在接口中写方法的方法体
  *
  */
trait Score {
  //抽象方法
  def avg()
}

trait a {
  def avg()
}


class Sco extends a with Score {
  override def avg(): Unit = {
    println("实现父类方法")
  }
}
